package com.youlai.boot.modules.collect.model.vo;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import com.youlai.boot.modules.merchant.model.MerchantVO;
import com.youlai.boot.modules.product.model.ProductVO;

/**
 * 用户收藏视图对象
 *
 * @author maoyu
 * @since 2025-02-27 10:29
 */
@Getter
@Setter
@Schema( description = "用户收藏视图对象")
public class CollectVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    private Long id;
    @Schema(description = "用户ID")
    private Long userId;
    @Schema(description = "收藏对象ID")
    private Long sourceId;
    @Schema(description = "收藏类型(1:商品 2:商户)")
    private Integer sourceType;
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
    @Schema(description = "商品对象")
    private ProductVO product;
    @Schema(description = "商户对象")
    private MerchantVO merchant;
}
